unit Narzedzia;

interface

uses
  Classes, SysUtils;

function pusty_string(v : string) : boolean;

const
{ nazwa pliku - stala ale nie uzywana globalnie tylko poprzez argumenty funk. }
PLIK = 'uczniowie.bin';

{ Dla okienek w terminalu }
MENU_ROZDZIELACZ_ZANK =  chr(179); // tj '|'
MENU_LEWY_ZANK = chr(195);  // tj '|-'

{ !!! stringi ponizej maja stala dlugosc z powodu wykorzystania do zapisu/odczytu pliku binarnego... !!! }

{ dla listy przechowujaca oceny }
type woceny=^ocena;
       ocena = record
       nota : integer;
       nastepna_ocena : woceny;
end;

{ rekord przechowujacy dane ucznia }
type personal = record
    imie : string[32];
    nazwisko : string[32];
end;


{ dla listy przechowujacej przedmioty i ich oceny }
type wprzedmioty=^przedmioty;
przedmioty = record
       nazwa : string[32]; // nazwa przedmiotu
       oceny : woceny;   // lista ocen
       nastepny_przedmiot : wprzedmioty;
 end;

{ dla listy przechowujacej uwagi ucznia }
type wuwagi=^uwagi;
uwagi = record
       tekst : string[255]; // tekst uwagi ucznia
       nastepna_uwaga : wuwagi;
end;

{ dla listy przechowujacej wszystko co powzyej zostalo wymienione }
type  wuczen=^uczen;
uczen = record
        info : personal; // info o uczniu
        uwagi : wuwagi; // uwagi na jego temat
        przedmioty : wprzedmioty; // przedmioty z ktorych dosatal (w)pale
        nastepny_uczen : wuczen;
end;

implementation

{---------------------------------}
{  Inne funkcje                   }
{---------------------------------}

{ sprawdza czy string jest pusty - zwaraca true jesli jest pusty }
function pusty_string(v : string) : boolean;
begin
   if Length(v) = 0 then begin
     pusty_string := true;
   end
   else begin
     pusty_string := false;
   end;
end;

end.

